﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using Entidades;
using System.Data;
namespace DAO
{
    public static class dbClientes
    {

        public static List<Cliente> BuscaClientes(string paramApellido, string  paramDni, string paramLocalidad)
        {


            List<Cliente> lstClientes = new List<Cliente>();
         

                SqlConnection objConexion = new SqlConnection(Conexiones.StringConexion);
                objConexion.Open();
                SqlCommand dataCommand = new SqlCommand("BuscarClientes", objConexion);
                dataCommand.CommandType = CommandType.StoredProcedure;
                SqlParameter Apellido = new SqlParameter("@varApellido", SqlDbType.VarChar, 10);
                dataCommand.Parameters["@varApellido"].Value = paramApellido;
                SqlParameter Dni = new SqlParameter("@varDni", SqlDbType.Int);
                dataCommand.Parameters["@varDni"].Value = paramApellido;
                SqlParameter Localidad = new SqlParameter("@varLocalidad", SqlDbType.VarChar, 10);
                dataCommand.Parameters["@varLocalidad"].Value = paramLocalidad;
                SqlDataReader objReader = dataCommand.ExecuteReader();

            try
            {
                    while (objReader.Read())
                {
                    Cliente objCliente = new Cliente(Convert.ToInt32(objReader["intIdCliente"]), objReader["varNombre"].ToString(), objReader["varApellido"].ToString(), objReader["varDireccion"].ToString(), objReader["varTelefono"].ToString(), objReader["varLocalidad"].ToString(), (objReader["varDni"]).ToString(), objReader["varOpinion"].ToString());

                    lstClientes.Add(objCliente);
                }
                return lstClientes;
            }
            catch (Exception ex)
            {
                throw new System.ArgumentException("Parameter cannot be null", "original");
            }
            finally
            {
                objConexion.Close();
            }
        }
   
    }
}
